package com.itheima;


import freemarker.template.Configuration;
import freemarker.template.Template;

import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class testFreemarker {
    public static void main(String[] args) throws Exception {
//        使用步骤:
//
//        第一步：创建一个Configuration对象，直接 new一个对象。构造方法的参数就是Freemarker的版本号。
        Configuration configuration = new Configuration(Configuration.getVersion());
//        第二步：设置模板文件所在的路径。
        configuration.setDirectoryForTemplateLoading(new File("D:\\ftl"));
//        第三步：设置模板文件使用的字符集。一般就是utf-8
        configuration.setDefaultEncoding("UTF-8");
//        第四步：加载一个模板，创建一个模板对象。
        Template template = configuration.getTemplate("text.ftl");
//        第五步：创建一个模板使用的数据集，可以是pojo也可以是map。一般是Map。
        Map map = new HashMap();
        map.put("name", "余凯琦");
        map.put("message", "欢迎来到黑马");
        map.put("success",false);

        List goodsList = new ArrayList();

        Map goods1 = new HashMap();
        goods1.put("name","苹果");
        goods1.put("price",5.8);

        Map goods2 = new HashMap();
        goods2.put("name","香蕉");
        goods2.put("price",2.5);

        Map goods3 =new HashMap();
        goods3.put("name","橘子");
        goods3.put("price",3.2);

        goodsList.add(goods1);
        goodsList.add(goods2);
        goodsList.add(goods3);

        map.put("goodsList",goodsList);
//        第六步：创建一个Writer对象，一般创建FileWriter对象，指定生成的文件名。
        Writer writer = new FileWriter(new File("D:\\ftl\\test.html"));
//        第七步：调用模板对象的process方法输出文件。
        template.process(map, writer);
//        第八步：关闭流。
        writer.close();
    }
}
